model;
{
b.clu[1:na] ~ car.normal(mapa[],weia[],numa[],tau.clu);
b.coo[1:nc] ~ car.normal(mapc[],weic[],numc[],tau.coo);

b.tem[1:nt] ~ car.normal(mapt[],weit[],numt[],tau.tem)
for (j in 1:nt) {eff.tem[j] <- b.tem[j]-b.tem[1]}

for (i in 1:na) {
for (j in 1:nt) {
ind[i,j]        ~  dnorm(media[i,j],tau.indi);
media[i,j]  <- b.ete2[i]+eff.tem[j];
                }
b.ete2[i]        ~  dnorm(0.00,tau.ete2);
                }

for (i in 1:na) {
for (j in 1:nc) {
oss[i,j]        ~  dpois(lambda[i,j]);
log(lambda[i,j])  <- log(att[i,j])+alpha+b.clu[i]+b.ete[i]+b.coo[j]+
beta[j]*(cate[j,1]*ind[i,j+3]+cate[j,2]*ind[i,j+5]+cate[j,3]*ind[i,j+7]+cate[j,4]*ind[i,j+9]);

rr[i,j]           <- lambda[i,j]/att[i,j];
devi[i,j]    <- (oss[i,j]+0.05)*log((oss[i,j]+0.05)/(rr[i,j]*(att[i,j]+0.05)))-oss[i,j]+att[i,j]*rr[i,j];
}
b.ete[i]        ~  dnorm(0.00,tau.ete);

}

deviance   <- 2*(sum(devi[,]));

beta[1] ~ dnorm(0,0.001);
beta[2] ~ dnorm(0,0.001);
beta[3] ~ dnorm(0,0.001);
beta[4] ~ dnorm(0,0.001);
beta[5] ~ dnorm(0,0.001);
beta[6] ~ dnorm(0,0.001);

cate[1,1:4] ~ dmulti(lag[1,],1);
lag[1,1:4]~ddirch(nu[]);
cate[2,1:4] ~ dmulti(lag[2,],1);
lag[2,1:4]~ddirch(nu[]);
cate[3,1:4] ~ dmulti(lag[3,],1);
lag[3,1:4]~ddirch(nu[]);
cate[4,1:4] ~ dmulti(lag[4,],1);
lag[4,1:4]~ddirch(nu[]);
cate[5,1:4] ~ dmulti(lag[5,],1);
lag[5,1:4]~ddirch(nu[]);
cate[6,1:4] ~ dmulti(lag[6,],1);
lag[6,1:4]~ddirch(nu[]);



alpha           ~ dflat();
tau.ete         ~ dgamma(1.0E-3,1.0E-3);
tau.indi         ~ dgamma(1.0E-3,1.0E-3); 
tau.clu         ~ dgamma(nu.clu,sf.clu);
tau.coo         ~ dgamma(nu.coo,sf.coo);
tau.tem         ~ dgamma(nu.tem,sf.tem);
tau.ete2        ~ dgamma(1.0E-3,1.0E-3); 
}